<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' href='../rurple.css' type='text/css'>
<title>机器人童话</title>
</head>
<body>


<h2 class="title">机器人童话</h2>

<p>故事发生在很久很久以前，在一个遥远的地方。<br />
你是否有勇气接受这样一个挑战？编写函数定义使以下的故事成为现实, 并最终实现下图的场景?<br />
<i>Hint:</i> 要完成这个任务，需要的Python关键词只有5个: 
<span class="pykeyword">def</span>, <span class="pykeyword">while</span>,
<span class="pykeyword">for</span>, <span class="pykeyword">in</span>, and <span class="pykeyword">global</span>. 当然即便你不使用这其中的某些关键词也可以完成这个任务，但是，那样的话，你的程序也不复存在。</p>

<pre>
<span class="comment"># 机器人童话
#
# 你的函数定义写在这里.
#</span>

<span class="comment">'''很久很久以前，在机器岛上，住着一个年轻的机器学者，名叫艾立克斯。'''</span>
Alex = RefurbishedRobot(1, 1, beepers=2, colour=<span class="string">'blue'</span>)

<span class="comment">'''艾立克斯很不开心，他每天只能在父母身边游荡，但他希望能够增长见识，学习更多的东西。'''</span>
Alex.set_trace_style(2, <span class="string">'black'</span>)    <span class="comment"># 不开心</span>
Alex_is_restless()

<span class="comment">'''不久，这个年轻的学者动身探索和游历世界，增广见闻。就在他开始出发的时候，他的心情大大的明朗起来。'''</span>
Alex.set_trace_style(1, <span class="string">'blue'</span>) 
Alex_travels()

<span class="comment">'''一天, 艾立克斯来到一个陌生的地方, 一个不寻常的声音令他驻足, 当安娜, 这个无畏的勇士出现在他面前, 他的心也停止了跳动. 安娜在此之前, 就已得到消息, 一个陌生人来到了小镇.'''</span>
Anna = RefurbishedRobot(4, 7, 's'</span>, colour=<span class="string">'purple'</span>)
Anna.set_trace_style(2, <span class="string">'red'</span>)

<span class="comment">'''年轻的艾立克斯知道他已经无需寻找, 他的探寻可以结束了. 他走近安娜, 拿出随身携带的那枚戒指, 询问安娜是否可以嫁给他.'''</span>
Alex_proposes_and_wait()

<span class="comment">'''艾立克斯说了许多有魔力的话语, 令他开心的是, 最终安娜接受了他的请求.'''</span>
Anna_accepts()
<span class="comment"># 备注: 戒指的印记
# 在RobotLand, 艾立克斯向安娜求婚的地方仍然可见.
# 如下图, 
# 它证实了, 从那天起, 
# 安娜一直都戴着那枚戒指.</span>

<span class="comment">'''这对年轻的夫妻整日整夜地跳舞以庆祝他们的幸福.'''</span>
Alex_and_Anna_dance()

<span class="comment">'''岁月流逝. 艾立克斯和安娜在一起开心地并肩旅行.'''</span>
time_passes()

<span class="comment">'''几年后, 小艾立西娜出生了.'''</span>
Alexina_is_born()

<span class="comment">'''多年之后, 这个幸福的家庭在机器人岛的边境继续他们的旅程.'''</span>
family_is_happy()

<span class="comment">'''完.'''</span>
Alex.turn_off()
</pre>

<p><img alt="Fairy tale, final scene" src="../../images/future/fairy_tale.png"></p>


<h3 class='section'>进一步阅读</h3>

<p>在你的Python学习旅程中, 你可能会准备好去阅读一些更高级的资料. 如果你够勇敢, 我有两本推荐我比较喜欢的书, 虽然它们的内容可能有点深.</p>
<ul>
<li><i>Python in a Nutshell(果壳中的Python)</i>, 作者Alex Martelli(艾立克斯 马尔泰勒), 因他为comp.lang.python组做出了很多的贡献而闻名. 他的<b>许多</b> 富有见地的邮件使得他被称为"马尔泰勒网络机器人(the martellibot)". (其他著名的"网络机器人"还有"提姆网络机器人"和"伊弗网络机器人". 多年来, 大家都不相信会有人能够如此迅速的写了那么多的邮件, 他们简直就是机器人.)</li>
<li>艾立克斯(Alex)同时还是<i>《Python Cookbook》</i>一书第一版和第二版的合著者, 这本书就是我要衷心推荐的一本. 大卫(David Ascher)也是本书第一,第二版的合著者. 而艾立克斯的妻子安娜, 是本书第二版的另一个合著者.</li>
</ul>

<h3 class="warning">免责声明</h3>

<p>故事内容, 纯属编造, 如有雷同, 实属巧合.</p>

<center>
<a href="../lessons_toc.htm"><img alt="home"  src="../../images/home.png"></a>
</center>
</body>
</html>
